package com.show.mytest;

public class Test04_FanXing {
    public static void main(String[] args) {
        /*

            泛型的概述
                * 泛型是JDK1.5的新特性
                * 泛型可以使用在方法上，类上，接口上。
                * 泛型变量可以理解为某种数据类型的占位符。
                * 泛型变量也可以理解为是某种数据类型的变量。
                * 泛型变量的命名规则：只要是合法的标识符就可以，但一般使用一个大写字母
                        常用的泛型变量名：T，E，K，V
            ​
            需求：
                * 定义一个方法，该方法接收任意类型的参数，方法返回值类型要和实际参数的类型一致。
            ​
            泛型方法的概念
                * 在方法声明上定义了泛型变量的方法则成为泛型方法。
            ​
            泛型方法的定义格式
                * 修饰符 <泛型变量> 返回值类 方法名(参数列表){}
            ​
            注意事项
                * 泛型方法的泛型变量的具体数据类型是在调用方法时根据参数决定。
                * 泛型变量不能使用基本数据类型，如果要使用基本数据类型，则使用对应的包装类类型。
        */
        //调用泛型方法传入参数    //可传入任意类型
        show(123);
        show("123");
        show('1');
        String s = copy("123");
        System.out.println(s);
    }

    //定义一个泛型方法
    public static <T> void show(T t){
        System.out.println(t);
    }

    public static  <T> T copy(T t){
        return t;
    }
}
